var express = require('express');
var router = express.Router();
const jwt = require('jsonwebtoken');
// 引入auth.js文件的生成函数（建议复用，避免重复代码）
const { generateAccessToken, generateRefreshToken } = require('./auth');
router.post('/refresh', (req, res) => {
  // 1. 获取 refreshToken
  const { refreshToken } = req.body;
  if (!refreshToken) return res.sendStatus(401);
  // 2.校验 refreshToken
  jwt.verify(refreshToken, process.env.REFRESH_TOKEN_SECRET, (err, user) => {
    if (err) {
      // 只要过期或无效，强制前端登录
      return res.status(403).json({ code: 403, message: 'refreshToken 已过期，请重新登录' })
    }
    // 3. 生成新的 accessToken
    const accessToken = generateAccessToken({id: user.id,phone: user.phone,role: user.role}); // 复用函数， 确保有效期同一为15m
    // 可选：生成新的 refresh token
    const newRefreshToken = generateRefreshToken({id: user.id,phone: user.phone,role: user.role}); // 复用函数， 确保有效期同一为7d
    res.json({
      code: 200,
      accessToken,
      refreshToken: newRefreshToken
    });
  })
})
/* GET users listing. */
router.get('/', function (req, res, next) {
  res.send('respond with a resource');
})
module.exports = router;
